package com.netnewera.l1.req;

import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;

@XStreamAlias("REQ")
public class Req implements Cloneable{
//	@XStreamAsAttribute()
//	@XStreamAlias("Ver")
//	private String ver="1.00";
	
	@XStreamAlias("CLIENT")
	private Client client;
	
	@XStreamAlias("ORIGINATOR")
	private Originator originator;


	/***
	 * 增加REQ_PLATFORM是为了区别高精度/粗定位请求，当定位请求中不带此element时，系统默认转gpsOne定位。
	 * 当一个SP下开展多个定位业务的时候，增加Service ID，用于标识每个定位业务码，与Client一起传送给定位平台，业务平台进行订购关系的鉴权
	 * 1－粗定位
	 * 2－gpsOne定位
	 */
	@XStreamAlias("REQ_PLATFORM")
	private String reqPlatform;;
	
	@XStreamAlias("SERVICEID")
	private String serviceid;
	
	@XStreamAlias("LIR")
	private Lir lir;
	
	@XStreamAlias("LTR")
	private Ltr ltr;
	
	@XStreamAlias("LCTR")
	private Lctr lctr;
	
	public Ltr getLtr() {
		return ltr;
	}

	public void setLtr(Ltr ltr) {
		this.ltr = ltr;
	}

	public Lctr getLctr() {
		return lctr;
	}

	public void setLctr(Lctr lctr) {
		this.lctr = lctr;
	}

	public Originator getOriginator() {
		return originator;
	}

	public void setOriginator(Originator originator) {
		this.originator = originator;
	}
	
	public Lir getLir() {
		return lir;
	}

	public void setLir(Lir lir) {
		this.lir = lir;
	}
//	public String getVer() {
//		return ver;
//	}
//
//	public void setVer(String ver) {
//		this.ver = ver;
//	}

	/***
	* 方法用途和描述:增加REQ_PLATFORM是为了区别高精度/粗定位请求，当定位请求中不带此element时，系统默认转gpsOne定位。
	 * 当一个SP下开展多个定位业务的时候，增加Service ID，用于标识每个定位业务码，与Client一起传送给定位平台，业务平台进行订购关系的鉴权
	 * 1－粗定位
	 * 2－gpsOne定位
	* @return
	* @author 刘小明 新增日期：2013-5-9
	* @author 你的姓名 修改日期：2013-5-9
	* @since xstream-demo
	 */
	public String getReqPlatform() {
		return reqPlatform;
	}
	/***
	* 方法用途和描述:增加REQ_PLATFORM是为了区别高精度/粗定位请求，当定位请求中不带此element时，系统默认转gpsOne定位。
	 * 当一个SP下开展多个定位业务的时候，增加Service ID，用于标识每个定位业务码，与Client一起传送给定位平台，业务平台进行订购关系的鉴权
	 * 1－粗定位
	 * 2－gpsOne定位
	* @return
	* @author 刘小明 新增日期：2013-5-9
	* @author 你的姓名 修改日期：2013-5-9
	* @since xstream-demo
	 */
	public void setReqPlatform(String reqPlatform) {
		this.reqPlatform = reqPlatform;
	}

	public String getServiceid() {
		return serviceid;
	}

	public void setServiceid(String serviceid) {
		this.serviceid = serviceid;
	}

	public Client getClient() {
		return client;
	}

	public void setClient(Client client) {
		this.client = client;
	}

	@Override
	public String toString() {
		StringBuilder builder = new StringBuilder();
		builder.append("Req ");
//		builder.append("Req [ver=");
//		builder.append(ver);
//		builder.append(", client=");
		builder.append(" client=");
		builder.append(client);
		builder.append(", originator=");
		builder.append(originator);
		builder.append(", reqPlatform=");
		builder.append(reqPlatform);
		builder.append(", serviceid=");
		builder.append(serviceid);
		builder.append(", lir=");
		builder.append(lir);
		builder.append(", ltr=");
		builder.append(ltr);
		builder.append(", lctr=");
		builder.append(lctr);
		builder.append("]");
		return builder.toString();
	}
	
	/**
	 * 创建并返回此对象的一个副本
	 */
	public Object clone() throws CloneNotSupportedException {
        //直接调用父类的clone()方法,返回克隆副本
        return super.clone();
    }
	
	
}
